//#include <stdio.h>
//#include <stdlib.h>
//#include <string.h>
////
////int getLen(char* s) {
////    //构建辅助指针
////    char* pCurrent = s;
////    int count = 0;
////    while (*pCurrent != '\0') {
////        count++;
////        pCurrent = pCurrent + 1;
////    }
////    return count;
////}
////
////char* replace(char* s,char* s1) {
////    return s;
////}
////
////
////
////链式栈的结点
//typedef struct LINKNODE {
//    struct LINKNODE* next;
//}LinkNode;
//
////链式栈
//typedef struct LINKSTACK {
//    LinkNode head;
//    int size;
//}LinkStack;
//
////1，初始化函数
//LinkStack* Init_LinkStack() {
//    LinkStack* stack = (LinkStack*)malloc(sizeof(LinkStack));
//    stack->head.next = NULL;
//    stack->size = 0;
//    return stack;
//}
////2，入栈
//void Push_LinkStack(LinkStack* stack,LinkNode* data) {
//    if(stack == NULL || data == NULL) return;
//
//    data->next = stack->head.next;
//    stack->head.next = data;
//    stack->size++;
//}
////3，出栈
//LinkNode* Pop_LinkStack(LinkStack* stack) {
//    if(stack == NULL) return  NULL;
//    if(stack->size == 0) return NULL;
//
//    LinkNode* save = stack->head.next;
//    stack->head.next = save->next;
//    save->next = NULL;
//
//    stack->size--;
//    return save;
//}
////4，返回栈顶元素
//LinkNode* Top_LinkStack(LinkStack* stack) {
//    if(stack == NULL) return  NULL;
//    if(stack->size == 0) return NULL;
//
//    return stack->head.next;
//}
////5，返回栈元素的个数
//int Size_LinkStack(LinkStack* stack) {
//    if(stack == NULL) return  -1;
//    return stack->size;
//}
//
//int isValid(char * s){
//    Stack<Character> stack = new Stack();
//    char[] arr = s.toCharArray();
//    for(int i = 0;i < arr.length;i++) {
//        if(arr[i] == '(' || arr[i] == '[' || arr[i] == '{') {
//            stack.push(arr[i]);
//            continue;
//        }
//        if(!stack.isEmpty()) {
//            if((arr[i] == ')' && stack.peek() == '(') ||
//               (arr[i] == ']' && stack.peek() == '[') ||
//               (arr[i] == '}' && stack.peek() == '{')
//                    ) {
//                stack.pop();
//            }else {
//                return false;
//            }
//        }else {
//            return false;
//        }
//    }
//
//    if(stack.isEmpty()){
//        return true;
//    }else {
//        return false;
//    }
//}
//
//int main() {
//    char* s = "[()][]";
//    printf("%s",replace(s,"[]"));
//    return 0;
//}